package com.anyou.quartz.task;

import com.anyou.common.utils.StringUtils;
import com.anyou.common.utils.TimeUtil;
import com.anyou.mall.order.domain.OrdOrder;
import com.anyou.mall.order.service.IOrdOrderService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update;

/**
 * 配送订单定时任务
 * @author ruoyi
 */
@Slf4j
@Component("distributionOrderTask")
public class DistributionOrderTask {
    @Autowired
    private IOrdOrderService ordOrderService;
//    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
//        System.out.println(StringUtils.format("执行多参方法： 字符串类型{}，布尔类型{}，长整型{}，浮点型{}，整形{}", s, b, l, d, i));
//    }
//
//    public void ryParams(String params) {
//        System.out.println("执行有参方法：" + params);
//    }
//
//    public void ryNoParams() {
//        System.out.println("执行无参方法");
//    }

    /**
     * 定时判断配送订单是否为预警订单或问题订单，并改订单状态
     * 超过24小时未完成的订单，为问题订单，（未完成揽件或者未完成送达）
     * 超时48小时未完成送达的订单，或者超过要求时间未完成送达的订单，为预警订单
     * 如果已完成，就改订单为非问题订单和非预警订单
     */
    public void distriOrderWarnOrIssue() {
        log.info("开始执行判断配送预警订单问题订单方法");
        //判断预警订单，并修改预警订单状态为是
        ordOrderService.updateOrderWarn();
        //判断问题订单，并修改问题订单状态为是
        ordOrderService.updateOrderIssue();
        //查询已完成送达的订单，改预警订单状态为非预警订单，改问题订单状态为非问题订单
        ordOrderService.updateOrderIssueWarnToNo();
        log.info("结束执行判断配送预警订单问题订单方法");

    }
}
